package cn.com.anypay.manager.lakala.dto;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;

/**
 * 拉卡拉电子合同签约结果异步通知DTO
 *
 * @author Claude
 * @date 2024-01-15
 */
@Data
@Accessors(chain = true)
public class LakalaContractNotifyRequest implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 版本号
     */
    @JsonProperty("version")
    private String version;

    /**
     * 机构号
     */
    @JsonProperty("orgId")
    private Integer orgId;

    /**
     * 请求上送的订单号
     */
    @JsonProperty("orderNo")
    private String orderNo;

    /**
     * 电子签约申请受理编号
     */
    @JsonProperty("ecApplyId")
    private Long ecApplyId;

    /**
     * 电子合同号
     * 例如：QT20210914000216202
     */
    @JsonProperty("ecNo")
    private String ecNo;

    /**
     * 电子合同名称
     * 例如：特约商户支付服务合作协议V4.1
     */
    @JsonProperty("ecName")
    private String ecName;

    /**
     * 电子合同签署状态
     * UNDONE: 未完成
     * COMPLETED: 已完成
     */
    @JsonProperty("ecStatus")
    private String ecStatus;

    /**
     * 判断是否签署完成
     */
    public boolean isCompleted() {
        return "COMPLETED".equals(ecStatus);
    }
}